package com.xiu.travel.other;

import com.xiu.travel.enums.SexEnum;
import com.xiu.travel.enums.UserSourceEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDate;

/**
 * <p>
 * UmsMemberDTO
 * </p>
 *
 * @author YuLing
 * @since 2023-10-13
 */
@Data
@Accessors(chain = true)
@Schema(name = "UmsMember对象", description = "会员表")
public class UmsMemberDTO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "")
    private Long id;

    @Schema(description = "")
    private Long memberLevelId;

    @Schema(description = "")
    private String username;

    @Schema(description = "")
    private String password;
    @Schema(description = "")
    private String mail;

    @Schema(description = "")
    private String nickname;

    @Schema(description = "")
    private String phone;

    /**
     * 支付码
     */
    @Schema(name = "payCode", description = "支付码")
    @TableField("pay_code")
    private String payCode;


    @Schema(description = "")
    private String icon;

    @Schema(description = "性别：0->未知；1->男；2->女")
    private SexEnum gender;

    @Schema(description = "生日")
    private LocalDate birthday;

    @Schema(description = "")
    private String city;

    @Schema(description = "")
    private String job;

    @Schema(description = "")
    private String personalizedSignature;

    @Schema(description = "用户来源")
    private UserSourceEnum sourceType;

    @Schema(description = "积分")
    private Integer integration;

    @Schema(description = "成长值")
    private Integer growth;

    @Schema(description = "剩余抽奖次数")
    private Integer luckyCount;

    @Schema(description = "历史积分数量")
    private Integer historyIntegration;

    @Schema(description = "")
    private String thirdType;

    @Schema(description = "")
    private String thirdKey;

    /**
     * 支付平台用户ID
     */
    @Schema(name = "open_id", description = "")
    private String openId;
}
